import Vue from 'vue'
import App from './App.vue'

// 打算：
// 在此位置，创建 VueComponent 构造函数
// 然后使用原型挂载一些数据看看
// const vc01 = Vue.extend()
// console.log(vc01.prototype)
// vc01.prototype.x = 1000
/*
  1. Vue.extend() 居然啥都不写
  2. Vue.extend() 每次调用的时候，都是一个新的构造函数
*/

// 最终的解决方案
// const VueComponent = Vue.extend()
// const aaa = new VueComponent()
// Vue.prototype.x = aaa

// 创建了一个空壳子vm
// 创建它的意义，就是为了能够生成一个 _events
// Vue.prototype.$bus = new Vue()

Vue.config.productionTip = false

new Vue({
  // vm在最早最早的时候，就已经声明了
  beforeCreate() {
    // 因为每一个子组件中，this都是指向的vc
    // 这里的this 指向vm
    Vue.prototype.$bus = this
  },
  render: (h) => h(App)
}).$mount('#app')
